package org.example;

import junit.framework.TestCase;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.joda.time.DateTime;
import org.junit.Test;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class poiTest1 extends TestCase {


    private static final String filepath = "D:\\poifile\\test\\";

    @Test
    public void test1() throws IOException {
        //1、创建一个工作簿
        Workbook workbook = new HSSFWorkbook();
        //2、创建一个工作表
        Sheet sheet = workbook.createSheet("第一个工作表");

        //3、创建一行

        //3.1 创建第一行
        Row row1 = sheet.createRow(0);
        //3.2 创建第二行
        Row row2 = sheet.createRow(1);
        //3.3 创建第三行
        Row row3 = sheet.createRow(2);

        //4 创建一个单元格
        //4.1 创建第一行第一个单元格
        Cell cell11 = row1.createCell(0);
        //4.2 创建第一行第二个单元格
        Cell cell12 = row1.createCell(1);
        //4.3 创建第二行第一个单元格
        Cell cell21 = row2.createCell(0);
        //4.4 创建第二行第二个单元格
        Cell cell22 = row2.createCell(1);
        //4.5 创建第三行第一个单元格
        Cell cell31 = row3.createCell(0);
        //4.6 创建第三行第二个单元格
        Cell cell32 = row3.createCell(1);

        // 5 设置单元格的值
        //5.1 设置第一行第一个单元格
        cell11.setCellValue("个人公众号");
        //5.2 设置第一行第二个单元格
        cell12.setCellValue("XiezhrSpace");

        //5.3 设置第二行第一个单元格
        cell21.setCellValue("个人博客");
        //5.4 设置第二行第二个单元格
        cell22.setCellValue("www.xiezhr.cn");

        //5.5 设置第三行第一个单元格
        cell31.setCellValue("当前时间");
        //5.6 设置第三行第二个单元格
        String curdate = new DateTime().toString("yyyy-MM-dd HH:mm:ss");
        cell32.setCellValue(curdate);



        FileOutputStream fileOutputStream = new FileOutputStream(filepath + "poiexcel03.xls");
        workbook.write(fileOutputStream);
        fileOutputStream.close();
        workbook.close();
    }


    @Test
    public void readExcel03Test() throws  Exception{

        FileInputStream fileInputStream = new FileInputStream(filepath + "poiexcel03.xls");

        Workbook workbook = new HSSFWorkbook(fileInputStream);
        Sheet sheet = workbook.getSheetAt(0);
        //获取第一行
        Row row1 = sheet.getRow(0);
        //获取第一行的第一个单元格
        Cell cell11 = row1.getCell(0);
        //获取第一行第二个单元格
        Cell cell12 = row1.getCell(1);
        System.out.println("第一行第一个单元格的内容是："+cell11.getStringCellValue());
        System.out.println("第一行第二个单元格的内容是："+cell12.getStringCellValue());

        //获取第一行
        Row row2 = sheet.getRow(1);
        //获取第一行的第一个单元格
        Cell cell21 = row2.getCell(0);
        //获取第一行第二个单元格
        Cell cell22 = row2.getCell(1);
        System.out.println("第一行第一个单元格的内容是："+cell21.getStringCellValue());
        System.out.println("第一行第二个单元格的内容是："+cell22.getStringCellValue());

    }


}
